<template><div><p>本文档最新版为 <a href="https://learnku.com/docs/laravel/10.x" target="_blank" rel="noopener noreferrer">10.x</a>，旧版本可能放弃维护，推荐阅读最新版！</p>
<h2 id="安装" tabindex="-1"><a class="header-anchor" href="#安装"><span>安装</span></a></h2>
<ul>
<li><a href="#meet-laravel">认识 Laravel</a>
<ul>
<li><a href="#why-laravel">为什么选择 Laravel ?</a></li>
</ul>
</li>
<li><a href="#creating-a-laravel-project">创建一个 Laravel 项目</a></li>
<li><a href="#initial-configuration">初始化配置</a>
<ul>
<li><a href="#environment-based-configuration">基于环境的配置</a></li>
<li><a href="#databases-and-migrations">数据库和迁移</a></li>
<li><a href="#directory-configuration">目录配置</a></li>
</ul>
</li>
<li><a href="#local-installation-using-herd">使用 Herd 进行本地化安装</a>
<ul>
<li><a href="#herd-on-macos">macOS 使用 Herd</a></li>
<li><a href="#herd-on-windows">Windows 使用 Herd</a></li>
</ul>
</li>
<li><a href="#docker-installation-using-sail">使用 Sail 进行 Docker 安装</a>
<ul>
<li><a href="#sail-on-macos">macOS 使用 Sail</a></li>
<li><a href="#sail-on-windows">Windows 使用 Sail</a></li>
<li><a href="#sail-on-linux">Linux 使用 Sail</a></li>
<li><a href="#choosing-your-sail-services">选择 Sail 服务</a></li>
</ul>
</li>
<li><a href="#ide-support">IDE 支持</a></li>
<li><a href="#next-steps">下一步</a>
<ul>
<li><a href="#laravel-the-fullstack-framework">将 Laravel 用作全栈框架</a></li>
<li><a href="#laravel-the-api-backend">将 Laravel 用作 API 后端</a></li>
</ul>
</li>
</ul>
<h2 id="认识-laravel" tabindex="-1"><a class="header-anchor" href="#认识-laravel"><span>认识 Laravel</span></a></h2>
<p>Laravel 是一个 Web 应用框架， 有着表现力强、语法优雅的特点。Web 框架为创建应用提供了一个结构和起点，你只需要专注于创造，我们来为你处理细节。</p>
<p>Laravel 致力于提供出色的开发体验，同时提供强大的特性，例如完全的依赖注入，富有表现力的数据库抽象层，队列和计划任务，单元和集成测试等等。</p>
<p>无论你是刚刚接触 PHP Web 框架的新人，亦或是有着多年经验的老手， Laravel 都是一个可以与你一同成长的框架。我们将帮助你迈出成为 Web 开发者的第一步，或是将你的经验提高到下一个等级。我们迫不及待的想看看你的作品。</p>
<blockquote>
<p><strong>注意</strong><br>
是第一次使用 Laravel 吗？查看 <a href="https://bootcamp.laravel.com/" target="_blank" rel="noopener noreferrer">Laravel Bootcamp</a> 可以让你实际操作 Laravel 框架，并能带你构建第一个 Laravel 应用程序。</p>
</blockquote>
<h3 id="为什么选择-laravel" tabindex="-1"><a class="header-anchor" href="#为什么选择-laravel"><span>为什么选择 Laravel?</span></a></h3>
<p>有非常多的工具和框架可以被用于构建一个 Web 应用。但我们相信 Laravel 是构建现代化、全栈 Web 应用的最佳选择。</p>
<h4 id="一个渐进式框架" tabindex="-1"><a class="header-anchor" href="#一个渐进式框架"><span>一个渐进式框架</span></a></h4>
<p>我们喜欢称 Laravel 是一个「渐进式」框架。意思是 Laravel 将与你一同成长。如果你是首次进入 Web 开发， Laravel 大量的文档、指南和 <a href="https://laracasts.com/" target="_blank" rel="noopener noreferrer">视频教程</a> 将帮助你熟悉使用技巧而不至于不知所措。</p>
<p>如果你是高级开发人员，Laravel 为你提供了强大的工具用于 <a href="https://learnku.com/docs/laravel/11.x/container" target="_blank" rel="noopener noreferrer">依赖注入</a>、 <a href="https://learnku.com/docs/laravel/11.x/testing" target="_blank" rel="noopener noreferrer">单元测试</a>、<a href="https://learnku.com/docs/laravel/11.x/queues" target="_blank" rel="noopener noreferrer">队列</a>、<a href="https://learnku.com/docs/laravel/11.x/broadcasting" target="_blank" rel="noopener noreferrer">广播</a>，等等。 Laravel 为构建专业的 Web 应用程序进行了微调，并准备好处理企业工作负载。</p>
<h4 id="一个可扩展的框架" tabindex="-1"><a class="header-anchor" href="#一个可扩展的框架"><span>一个可扩展的框架</span></a></h4>
<p>Laravel 具有难以置信的可扩展性。由于 PHP 的灵活性以及 Laravel 对 Redis 等快速分布式缓存系统的内置支持，使用 Laravel 进行扩展是轻而易举的事。事实上，Laravel 应用程序已经很容易扩展到每月处理数亿个请求。</p>
<p>需要节省开发费用吗？ <a href="https://vapor.laravel.com/" target="_blank" rel="noopener noreferrer">Laravel Vapor</a> 允许你在 AWS 最新的无服务器技术上以几乎无限的规模运行 Laravel 应用程序。</p>
<h4 id="一个社区化的框架" tabindex="-1"><a class="header-anchor" href="#一个社区化的框架"><span>一个社区化的框架</span></a></h4>
<p>Laravel 结合了 PHP 生态系统中最好的软件包，提供了最健壮、对开发人员友好的框架。此外，来自世界各地的数千名有才华的开发人员 <a href="https://github.com/laravel/framework" target="_blank" rel="noopener noreferrer">为框架做出贡献</a>。谁知道呢，也许你就是下一个 Laravel 的贡献者。</p>
<h2 id="创建-laravel-项目" tabindex="-1"><a class="header-anchor" href="#创建-laravel-项目"><span>创建 Laravel 项目</span></a></h2>
<p>在创建第一个 Laravel 项目之前，请确保本地计算机已安装 PHP 和 <a href="https://getcomposer.org/" target="_blank" rel="noopener noreferrer">Composer</a>。如果你在 macOS 或 Windows 上开发，可以通过 <a href="#local-installation-using-herd">Laravel Herd</a> 在几分钟内安装 PHP、Composer、Node 和 NPM。</p>
<p>安装好 PHP 和 Composer 后，可以通过 Composer 的 <code v-pre>create-project</code> 命令创建一个新的 Laravel 项目：</p>
<div class="language-nothing line-numbers-mode" data-highlighter="prismjs" data-ext="nothing" data-title="nothing"><pre v-pre class="language-nothing"><code><span class="line">composer create-project laravel/laravel example-app</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>或者，你也可以通过 Composer 全局安装 <a href="https://github.com/laravel/installer" target="_blank" rel="noopener noreferrer">Laravel Installer</a> 来创建新的 Laravel 项目：</p>
<div class="language-nothing line-numbers-mode" data-highlighter="prismjs" data-ext="nothing" data-title="nothing"><pre v-pre class="language-nothing"><code><span class="line">composer global require laravel/installer</span>
<span class="line"></span>
<span class="line">laravel new example-app</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>创建项目后，使用 Laravel Artisan 的 <code v-pre>serve</code> 命令启动 Laravel 的本地开发服务器：</p>
<div class="language-nothing line-numbers-mode" data-highlighter="prismjs" data-ext="nothing" data-title="nothing"><pre v-pre class="language-nothing"><code><span class="line">cd example-app</span>
<span class="line"></span>
<span class="line">php artisan serve</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>一旦你启动了 Artisan 开发服务器，你就可以通过 <a href="http://localhost:8000/" target="_blank" rel="noopener noreferrer">localhost:8000</a> 访问你的应用程序。接下来，你就可以 <a href="#next-steps">开始进入 Laravel 生态系统的下一步</a>。当然，你可能还想<a href="#databases-and-migrations">配置数据库</a>。</p>
<blockquote>
<p><strong>注意</strong><br>
如果你想在开发 Laravel 应用程序时抢占先机，可以考虑使用我们的 <a href="https://learnku.com/docs/laravel/11.x/starter-kits" target="_blank" rel="noopener noreferrer">starter kits</a>。Laravel 入门套件为你的新 Laravel 应用程序提供后端和前端认证脚手架。</p>
</blockquote>
<h2 id="初始配置" tabindex="-1"><a class="header-anchor" href="#初始配置"><span>初始配置</span></a></h2>
<p>Laravel 框架的所有配置文件都存储在 <code v-pre>config</code> 目录中。每个选项都有文档说明，请随时查阅文件，熟悉可用选项。</p>
<p>Laravel 开箱可用，不需要额外配置，你可以自由地开发！然而，你可能希望查看 <code v-pre>config/app.php</code> 文件及其文档。它包含几个选项，例如你可能希望根据应用程序更改 <code v-pre>timezone</code> 和 <code v-pre>locale</code>。</p>
<h3 id="基于环境的配置" tabindex="-1"><a class="header-anchor" href="#基于环境的配置"><span>基于环境的配置</span></a></h3>
<p>由于 Laravel 的许多配置选项值可能会根据应用程序是在本地机器上运行还是在生产 Web 服务器上运行而有所不同，因此许多重要的配置选项值是在应用程序根目录的 <code v-pre>.env</code> 文件中定义的。</p>
<p>你的 <code v-pre>.env</code> 文件不应该提交到应用程序的源代码控制中，因为使用你的应用程序的每个开发者/服务器可能需要不同的环境配置。此外，如果入侵者访问了你的源代码仓库，这将成为安全风险，因为任何敏感数据都会被公开。</p>
<blockquote>
<p><strong>注意</strong><br>
若要了解更多关于 <code v-pre>.env</code> 文件和基于环境的配置的信息，请查看完整的 <a href="https://learnku.com/docs/laravel/11.x/configuration#environment-configuration" target="_blank" rel="noopener noreferrer">配置文档</a>。</p>
</blockquote>
<h3 id="数据库和迁移" tabindex="-1"><a class="header-anchor" href="#数据库和迁移"><span>数据库和迁移</span></a></h3>
<p>现在，你已经创建了 Laravel 应用程序，可能想在数据库中存储一些数据。默认情况下，你的应用程序的 <code v-pre>.env</code> 配置文件指定 Laravel 将与 SQLite 数据库交互。</p>
<p>在创建项目的过程中，Laravel 为你创建一个 <code v-pre>database/database.sqlite</code> 的文件，并且运行必要的迁移及创建应用程序的数据库表。</p>
<p>如果你更想使用其他数据库驱动，例如 MySQL 或者 PostgreSQL，你可以通过更新 <code v-pre>.env</code> 配置文件来使用合适的数据库。例如，如果你希望使用 MySQL 数据库，更新 <code v-pre>.env</code> 配置文件的 <code v-pre>DB_*</code> 变量如下：</p>
<div class="language-ini line-numbers-mode" data-highlighter="prismjs" data-ext="ini" data-title="ini"><pre v-pre class="language-ini"><code><span class="line"><span class="token key attr-name">DB_CONNECTION</span><span class="token punctuation">=</span><span class="token value attr-value">mysql</span></span>
<span class="line"><span class="token key attr-name">DB_HOST</span><span class="token punctuation">=</span><span class="token value attr-value">127.0.0.1</span></span>
<span class="line"><span class="token key attr-name">DB_PORT</span><span class="token punctuation">=</span><span class="token value attr-value">3306</span></span>
<span class="line"><span class="token key attr-name">DB_DATABASE</span><span class="token punctuation">=</span><span class="token value attr-value">laravel</span></span>
<span class="line"><span class="token key attr-name">DB_USERNAME</span><span class="token punctuation">=</span><span class="token value attr-value">root</span></span>
<span class="line"><span class="token key attr-name">DB_PASSWORD</span><span class="token punctuation">=</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>如果你选择使用 SQLite 以外的数据库，则需要创建数据库并运行应用程序的 <a href="https://learnku.com/docs/laravel/11.x/migrations" target="_blank" rel="noopener noreferrer">database migrations</a>:</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line">php artisan migrate</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><blockquote>
<p><strong>注意</strong><br>
如果你在 macOS 或 Windows 上进行开发，并且需要在本地安装 MySQL、PostgreSQL 或 Redis，请考虑使用 <a href="https://herd.laravel.com/#plans" target="_blank" rel="noopener noreferrer">Herd Pro</a>.</p>
</blockquote>
<h3 id="目录配置" tabindex="-1"><a class="header-anchor" href="#目录配置"><span>目录配置</span></a></h3>
<p>Laravel应该始终从为你的web服务器配置的“web目录”的根目录中提供服务。而不应该试图在“web目录”的子目录之外为Laravel应用程序提供服务。尝试这样做可能会暴露应用程序中存在的敏感文件。</p>
<h2 id="使用-herd-进行本地安装" tabindex="-1"><a class="header-anchor" href="#使用-herd-进行本地安装"><span>使用 Herd 进行本地安装</span></a></h2>
<p><a href="https://herd.laravel.com/" target="_blank" rel="noopener noreferrer">Laravel Herd</a> 是一款速度超快的原生 Laravel 和 PHP 开发环境，适用于 macOS 和 Windows。Herd 包含开始使用 Laravel 开发所需的一切，包括 PHP 和 Nginx。</p>
<p>一旦安装 Herd 后，你就可以开始使用 Laravel 进行开发了。Herd 包含用于 <code v-pre>php</code>, <code v-pre>composer</code>, <code v-pre>laravel</code>, <code v-pre>expose</code>, <code v-pre>node</code>, <code v-pre>npm</code>, 和 <code v-pre>nvm</code> 的命令行工具。</p>
<blockquote>
<p><strong>注意</strong><br>
<a href="https://herd.laravel.com/#plans" target="_blank" rel="noopener noreferrer">Herd Pro</a> 为 Herd 增添了额外的强大功能，例如创建和管理本地 MySQL、Postgres 和 Redis 数据库的能力，以及本地邮件查看和日志监控的能力。</p>
</blockquote>
<h3 id="macos-上的-herd" tabindex="-1"><a class="header-anchor" href="#macos-上的-herd"><span>macOS 上的 Herd</span></a></h3>
<p>如果你在 macOS 上进行开发，可以从 <a href="https://herd.laravel.com/" target="_blank" rel="noopener noreferrer">Herd website</a>下载 Herd 安装程序。安装程序会自动下载最新版本的 PHP，并将你的 Mac 配置为始终在后台运行 <a href="https://www.nginx.com/" target="_blank" rel="noopener noreferrer">Nginx</a>。</p>
<p>MacOS 版 Herd 使用 <a href="https://en.wikipedia.org/wiki/Dnsmasq" target="_blank" rel="noopener noreferrer">dnsmasq</a> 支持 「parked」 目录。parked 目录中的任何 Laravel 应用程序都将自动由 Herd 提供服务。默认情况下，Herd 在 <code v-pre>~/Herd</code> 处创建一个 parked 目录，你可以使用其目录名称在 <code v-pre>.test</code> 域上访问此目录中的任何 Laravel 应用程序。</p>
<p>安装 Herd 后，创建新 Laravel 项目的最快方法是使用与 Herd 捆绑在一起的 Laravel CLI：</p>
<div class="language-nothing line-numbers-mode" data-highlighter="prismjs" data-ext="nothing" data-title="nothing"><pre v-pre class="language-nothing"><code><span class="line">cd ~/Herd</span>
<span class="line">laravel new my-app</span>
<span class="line">cd my-app</span>
<span class="line">herd open</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>当然，你也可以通过 Herd 的 UI 管理你的 parked 目录和其他 PHP 设置，该 UI 可以从系统托盘中的 Herd 菜单打开。<br>
可以通过查看 <a href="https://herd.laravel.com/docs" target="_blank" rel="noopener noreferrer">Herd 文档</a> 了解有关 Herd 的更多信息。</p>
<h3 id="windows-上的使用-herd" tabindex="-1"><a class="header-anchor" href="#windows-上的使用-herd"><span>Windows 上的使用 Herd</span></a></h3>
<p>你可以在 <a href="https://herd.laravel.com/windows" target="_blank" rel="noopener noreferrer">Herd 网站</a> 下载 Herd 的 Windows 安装程序。安装完成后，你可以启动 Herd 以完成入门流程并首次访问 Herd UI。</p>
<p>左键单击 Herd 的系统托盘图标即可访问 Herd UI。右键单击可打开快捷菜单，其中可访问你日常所需的所有工具。</p>
<p>在安装过程中，Herd 会在你的主目录中的 <code v-pre>%USERPROFILE%\Herd</code> 创建一个 「parked」 目录。 parked 目录中的任何 Laravel 应用程序都将自动由 Herd 提供服务，并且你可以使用其目录名称在 <code v-pre>.test</code> 域上访问此目录中的任何 Laravel 应用程序。</p>
<p>安装 Herd 后，创建新 Laravel 项目的最快方法是使用与 Herd 捆绑在一起的 Laravel CLI。首先，打开 Powershell 并运行以下命令：</p>
<div class="language-nothing line-numbers-mode" data-highlighter="prismjs" data-ext="nothing" data-title="nothing"><pre v-pre class="language-nothing"><code><span class="line">cd ~\Herd</span>
<span class="line">laravel new my-app</span>
<span class="line">cd my-app</span>
<span class="line">herd open</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>你可以通过查看 <a href="https://herd.laravel.com/docs/windows" target="_blank" rel="noopener noreferrer">Windows 版 Herd 文档</a> 了解有关 Herd 的更多信息。</p>
<h2 id="使用-sail-安装-docker" tabindex="-1"><a class="header-anchor" href="#使用-sail-安装-docker"><span>使用 Sail 安装 Docker</span></a></h2>
<p>我们希望尽可能轻松地开始使用 Laravel，无论你喜欢哪种操作系统。因此，有多种选择可用于在本地计算机上开发和运行 Laravel 项目。你或许希望稍后再看这些选项，但 Laravel 提供了 <a href="https://learnku.com/docs/laravel/11.x/sail" target="_blank" rel="noopener noreferrer">Sail</a>，这是一种使用 <a href="https://www.docker.com/" target="_blank" rel="noopener noreferrer">Docker</a> 运行 Laravel 项目的内置解决方案。</p>
<p>Docker 是一种在小型、轻量级「容器」中运行应用程序和服务的工具，它不会干扰你本地机器上安装的软件或配置。这意味着你不必担心在本地机器上配置或设置复杂的开发工具（如 Web 服务器和数据库）。要开始使用它，你只需安装 <a href="https://www.docker.com/products/docker-desktop" target="_blank" rel="noopener noreferrer">Docker Desktop</a>.</p>
<p>Laravel Sail 是一个轻量级命令行界面，用于与 Laravel 的默认 Docker 配置进行交互。Sail 为使用 PHP、MySQL 和 Redis 构建 Laravel 应用程序提供了一个很好的起点，而无需事先具备 Docker 经验。</p>
<blockquote>
<p>[! 注意]<br>
如果已经熟练使用 Docker，可以使用 Laravel 附带的 <code v-pre>docker-compose.yml</code> 文件自定义有关 Sail 的所有内容。</p>
</blockquote>
<h3 id="在-macos-上使用" tabindex="-1"><a class="header-anchor" href="#在-macos-上使用"><span>在 MacOS 上使用</span></a></h3>
<p>如果你在 Mac 上进行开发并且已安装 <a href="https://www.docker.com/products/docker-desktop" target="_blank" rel="noopener noreferrer">Docker Desktop</a>，则可以使用简单的终端命令创建一个新的 Laravel 项目。例如，要在名为 「example-app」的目录中创建一个新的 Laravel 应用程序，你可以在终端中运行以下命令：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token function">curl</span> <span class="token parameter variable">-s</span> <span class="token string">"https://laravel.build/example-app"</span> <span class="token operator">|</span> <span class="token function">bash</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>当然，你可以将此 URL 中的「example-app」更改为你喜欢的任何内容——只需确保应用程序名称仅包含字母数字字符、破折号和下划线即可。Laravel 应用程序的目录将在你执行命令的目录中创建。</p>
<p>当 Sail 的应用程序容器在你的本地机器上构建时，Sail 的安装可能需要几分钟。</p>
<p>创建项目后，你可以导航到应用程序目录并启动 Laravel Sail。Laravel Sail 提供了一个简单的命令行界面，用于与 Laravel 的默认 Docker 配置进行交互：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token builtin class-name">cd</span> example-app</span>
<span class="line"></span>
<span class="line">./vendor/bin/sail up</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>启动应用程序的 Docker 容器后，你应该运行应用程序的 <a href="https://learnku.com/docs/laravel/11.x/migrationsmd" target="_blank" rel="noopener noreferrer">数据库迁移</a>。</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line">./vendor/bin/sail artisan migrate</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>最后，你可以在 Web 浏览器中访问应用程序：<a href="http://localhost/" target="_blank" rel="noopener noreferrer">localhost</a> 。</p>
<blockquote>
<p>[! 注意]<br>
要继续了解有关 Laravel Sail 的更多信息，请查看其 <a href="https://learnku.com/docs/laravel/11.x/sailmd" target="_blank" rel="noopener noreferrer">完整文档</a>。</p>
</blockquote>
<h3 id="windows-使用-sail" tabindex="-1"><a class="header-anchor" href="#windows-使用-sail"><span>Windows 使用 Sail</span></a></h3>
<p>在创建 Laravel 应用前，请确保你的 Windows 电脑已经安装了 <a href="https://www.docker.com/products/docker-desktop" target="_blank" rel="noopener noreferrer">Docker Desktop</a>。请确保已经安装并启用了适用于 Linux 的 Windows 子系统 2（WSL2），WSL 允许你在 Windows10 上运行 Linux 二进制文件。关于如何安装并启用 WSL2，请参阅微软 <a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" target="_blank" rel="noopener noreferrer">开发者环境文档</a></p>
<blockquote>
<p><strong>注意</strong><br>
安装并启用 WSL2 后，请确保 Docker Desktop 已经 <a href="https://docs.docker.com/docker-for-windows/wsl/" target="_blank" rel="noopener noreferrer">配置为使用 WSL2 后端</a>。</p>
</blockquote>
<p>接下来，你已准备好创建你的第一个 Laravel 项目。启动 <a href="https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?rtc=1&amp;activetab=pivot:overviewtab" target="_blank" rel="noopener noreferrer">Windows 终端</a> 并为你的 WSL2 Linux 操作系统开始一个新的终端会话。接下来，你可以使用一个简单的终端命令创建一个新的 Laravel 项目。例如，要在名为 「example-app」的目录中创建一个新的 Laravel 应用程序，你可以在终端中运行以下命令：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token function">curl</span> <span class="token parameter variable">-s</span> https://laravel.build/example-app <span class="token operator">|</span> <span class="token function">bash</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>当然，你可以根据需要更改此 URL 中的「example-app」- 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。Laravel 应用程序的目录将在执行命令的目录中创建。</p>
<p>Sail 安装可能需要几分钟，因为 Sail 的应用程序容器正在你的本地机器上构建。</p>
<p>项目创建后，你可以导航到应用程序目录并启动 Laravel Sail。 Laravel Sail 提供了一个简单的命令行界面来与 Laravel 的默认 Docker 配置进行交互：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token builtin class-name">cd</span> example-app</span>
<span class="line"></span>
<span class="line">./vendor/bin/sail up</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>应用程序的 Docker 容器启动后，你应该运行应用程序的 <a href="https://learnku.com/docs/laravel/11.x/migrationsmd" target="_blank" rel="noopener noreferrer">数据库迁移</a>：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line">./vendor/bin/sail artisan migrate</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>最后，你可以在 Web 浏览器中通过：<a href="http://localhost/" target="_blank" rel="noopener noreferrer">http://localhost</a> 访问应用程序。</p>
<blockquote>
<p>[! 注意]<br>
要继续了解更多关于 Laravel Sail 的信息，请查看其 <a href="https://learnku.com/docs/laravel/11.x/sailmd" target="_blank" rel="noopener noreferrer">完整文档</a>。</p>
</blockquote>
<h4 id="在-wsl2-中开发" tabindex="-1"><a class="header-anchor" href="#在-wsl2-中开发"><span>在 WSL2 中开发</span></a></h4>
<p>当然，你需要能够修改在 WSL2 安装中创建的 Laravel 应用程序文件。我们推荐你使用微软的 <a href="https://code.visualstudio.com/" target="_blank" rel="noopener noreferrer">Visual Studio Code</a> 编辑器并搭配其 <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack" target="_blank" rel="noopener noreferrer">Remote Development</a> 扩展，它们可以帮助你解决这个问题。</p>
<p>一旦这些工具成功安装，你可以使用 Windows 终端在应用根目录执行 <code v-pre>code .</code> 命令来打开任何 Laravel 项目。</p>
<h3 id="linux-使用-sail" tabindex="-1"><a class="header-anchor" href="#linux-使用-sail"><span>Linux 使用 Sail</span></a></h3>
<p>如果你在 Linux 上开发并且已经安装了 <a href="https://docs.docker.com/compose/install/" target="_blank" rel="noopener noreferrer">Docker Compose</a>，你可以使用一个简单的终端命令创建一个新的 Laravel 项目。</p>
<p>首先，如果你使用的是 Docker Desktop for Linux，你应执行以下命令。如果你没有使用 Docker Desktop for Linux，你可以跳过此步骤：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token function">docker</span> context use default</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>然后，要在名为「example-app」的目录中创建一个新的 Laravel 应用程序，你可以在终端中运行以下命令：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token function">curl</span> <span class="token parameter variable">-s</span> https://laravel.build/example-app <span class="token operator">|</span> <span class="token function">bash</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>当然，你可以根据需要更改此 URL 中的「example-app」 - 只需确保应用程序名称仅包含字母数字字符、破折号和下划线。Laravel 应用程序的目录将在执行命令的目录中创建。</p>
<p>Sail 安装可能需要几分钟，因为 Sail 的应用程序容器正在你的本地机器上构建。</p>
<p>项目创建后，你可以导航到应用程序目录并启动 Laravel Sail。 Laravel Sail 提供了一个简单的命令行界面来与 Laravel 的默认 Docker 配置进行交互：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token builtin class-name">cd</span> example-app</span>
<span class="line"></span>
<span class="line">./vendor/bin/sail up</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>应用程序的 Docker 容器启动后，你应该运行应用程序的 <a href="https://learnku.com/docs/laravel/11.x/migrationsmd" target="_blank" rel="noopener noreferrer">数据库迁移</a>：</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line">./vendor/bin/sail artisan migrate</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>最后，你可以在 Web 浏览器中通过：<a href="http://localhost/" target="_blank" rel="noopener noreferrer">http://localhost</a> 访问应用程序。</p>
<blockquote>
<p>[! 注意]<br>
要继续了解更多关于 Laravel Sail 的信息，请查看其 <a href="https://learnku.com/docs/laravel/11.x/sailmd" target="_blank" rel="noopener noreferrer">完整文档</a>。</p>
</blockquote>
<h3 id="选择-sail-服务" tabindex="-1"><a class="header-anchor" href="#选择-sail-服务"><span>选择 Sail 服务</span></a></h3>
<p>通过 Sail 创建 Laravel 程序时，可以使用 <code v-pre>with</code> 查询字符串变量来选择应用程序的 <code v-pre>docker-compose.yml</code> 文件配置哪些服务。可用的服务包括 <code v-pre>mysql</code>, <code v-pre>pgsql</code>, <code v-pre>mariadb</code>, <code v-pre>redis</code>, <code v-pre>memcached</code>, <code v-pre>meilisearch</code>, <code v-pre>typesense</code>，<code v-pre>minio</code>, <code v-pre>selenium</code> 和 <code v-pre>mailpit</code>:</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token function">curl</span> <span class="token parameter variable">-s</span> <span class="token string">"https://laravel.build/example-app?with=mysql,redis"</span> <span class="token operator">|</span> <span class="token function">bash</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>如果不指定配置服务，将使用 <code v-pre>mysql</code>, <code v-pre>redis</code>, <code v-pre>meilisearch</code>, <code v-pre>mailpit</code>, 和 <code v-pre>selenium</code> 作为默认配置。</p>
<p>还可以通过将 <code v-pre>devcontainer</code> 参数添加到 URL 来指示 Sail 安装默认的 <a href="https://learnku.com/docs/laravel/11.x/sailmd#using-devcontainers" target="_blank" rel="noopener noreferrer">Devcontainer</a>:</p>
<div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre v-pre class="language-bash"><code><span class="line"><span class="token function">curl</span> <span class="token parameter variable">-s</span> <span class="token string">"https://laravel.build/example-app?with=mysql,redis&amp;devcontainer"</span> <span class="token operator">|</span> <span class="token function">bash</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><h2 id="ide-支持" tabindex="-1"><a class="header-anchor" href="#ide-支持"><span>IDE 支持</span></a></h2>
<p>在开发 Laravel 应用程序过程中，你可以自由使用任何你喜欢的代码编辑器。不过，<a href="https://www.jetbrains.com/phpstorm/laravel/" target="_blank" rel="noopener noreferrer">PhpStorm</a> 为 Laravel 及其生态系统提供广泛的支持，包括 <a href="https://www.jetbrains.com/help/phpstorm/using-laravel-pint.html" target="_blank" rel="noopener noreferrer">Laravel Pint</a>。</p>
<p>另外，社区维护的 <a href="https://laravel-idea.com/" target="_blank" rel="noopener noreferrer">Laravel Idea</a> PhpStorm 插件提供了各种有用的 IDE 扩展，包括代码生成，Eloquent 语法补全，验证规则补全等等。</p>
<h2 id="下一步" tabindex="-1"><a class="header-anchor" href="#下一步"><span>下一步</span></a></h2>
<p>现在你已经创建了你的 Laravel 项目，你可能在想下一步该学什么。首先，我们强烈建议通过阅读以下文档来了解 Laravel 的工作方式：</p>
<p>你如何使用 Laravel 也会决定你的下一步。 Laravel 有多种使用方式， 下面我们将探索框架的两个主要用例。</p>
<blockquote>
<p>[！注意]<br>
是第一次使用 Laravel 吗？请查看 <a href="https://bootcamp.laravel.com/" target="_blank" rel="noopener noreferrer">Laravel Bootcamp</a> 可让你实际操作 Laravel 框架并带你构建第一个 Laravel 应用程序。</p>
</blockquote>
<h3 id="laravel-全栈框架" tabindex="-1"><a class="header-anchor" href="#laravel-全栈框架"><span>Laravel 全栈框架</span></a></h3>
<p>Laravel 可以作为一个全栈框架。 全栈框架意味着你将使用 Laravel 将请求路由到你的应用程序，并通过 <a href="https://learnku.com/docs/laravel/11.x/blademd" target="_blank" rel="noopener noreferrer">Blade 模板</a> 或像 <a href="https://inertiajs.com/" target="_blank" rel="noopener noreferrer">Inertia</a> 这样的单页应用混合技术来渲染你的前端。这是使用 Laravel 框架最常见的方式，在我们看来，这也是使用 Laravel 最高效的方式。</p>
<p>如果你打算使用 Laravel 进行全栈开发，你可能想查看我们的 <a href="https://learnku.com/docs/laravel/11.x/frontendmd" target="_blank" rel="noopener noreferrer">前端开发文档</a>、<a href="https://learnku.com/docs/laravel/11.x/routingmd" target="_blank" rel="noopener noreferrer">路由文档</a>、<a href="https://learnku.com/docs/laravel/11.x/viewsmd" target="_blank" rel="noopener noreferrer">视图文档</a> 或 <a href="https://learnku.com/docs/laravel/11.x/eloquentmd" target="_blank" rel="noopener noreferrer">Eloquent ORM</a>。此外，你可能会对学习像 <a href="https://livewire.laravel.com/" target="_blank" rel="noopener noreferrer">Livewire</a> 和 <a href="https://inertiajs.com/" target="_blank" rel="noopener noreferrer">Inertia</a> 这样的社区包感兴趣。这些包允许你将 Laravel 用作全栈框架，同时享受单页 JavaScript 应用程序提供的许多 UI 好处。</p>
<p>如果你使用 Laravel 作为全栈框架，我们也强烈建议你学习如何使用 <a href="https://learnku.com/docs/laravel/11.x/vitemd" target="_blank" rel="noopener noreferrer">Vite</a> 编译应用程序的 CSS 和 JavaScript 。</p>
<blockquote>
<p>[技巧]<br>
如果你想尽快构建你的应用程序，请查看我们的官方 <a href="https://learnku.com/docs/laravel/11.x/starter-kitsmd" target="_blank" rel="noopener noreferrer">应用程序入门工具包</a>。</p>
</blockquote>
<h3 id="laravel-api-后端" tabindex="-1"><a class="header-anchor" href="#laravel-api-后端"><span>Laravel API 后端</span></a></h3>
<p>Laravel 也可以作为 JavaScript 单页应用程序或移动应用程序的 API 后端。例如，你可以使用 Laravel 作为 <a href="https://nextjs.org/" target="_blank" rel="noopener noreferrer">Next.js</a> 应用程序的 API 后端。在这种情况下，你可以使用 Laravel 为你的应用程序提供 <a href="https://learnku.com/docs/laravel/11.x/sanctummd" target="_blank" rel="noopener noreferrer">身份验证</a> 和数据存储/检索，同时还可以利用 Laravel 的强大服务，例如队列、电子邮件、通知等。</p>
<p>如果这是你计划使用 Laravel 的方式，你可能需要查看我们关于 <a href="https://learnku.com/docs/laravel/11.x/routingmd" target="_blank" rel="noopener noreferrer">路由</a>，<a href="https://learnku.com/docs/laravel/11.x/sanctummd" target="_blank" rel="noopener noreferrer">Laravel Sanctum</a> 和 <a href="https://learnku.com/docs/laravel/11.x/eloquentmd" target="_blank" rel="noopener noreferrer">Eloquent ORM</a> 的文档。</p>
<blockquote>
<p>[技巧]<br>
需要抢先搭建 Laravel 后端和 Next.js 前端的脚手架？Laravel Breeze 提供了 <a href="https://learnku.com/docs/laravel/11.x/starter-kitsmd#breeze-and-next" target="_blank" rel="noopener noreferrer">API 堆栈</a> 以及 <a href="https://github.com/laravel/breeze-next" target="_blank" rel="noopener noreferrer">Next.js 前端实现</a> ，因此你可以在几分钟内开始使用。</p>
</blockquote>
<blockquote>
<p>本译文仅用于学习和交流目的，转载请务必注明文章译者、出处、和本文链接<br>
我们的翻译工作遵照 <a href="https://learnku.com/docs/guide/cc4.0/6589" target="_blank" rel="noopener noreferrer">CC 协议</a>，如果我们的工作有侵犯到您的权益，请及时联系我们。</p>
</blockquote>
<hr>
<blockquote>
<p>原文地址：<a href="https://learnku.com/docs/laravel/11.x/installationmd/16647" target="_blank" rel="noopener noreferrer">https://learnku.com/docs/laravel/11.x/in...</a></p>
<p>译文地址：<a href="https://learnku.com/docs/laravel/11.x/installationmd/16647" target="_blank" rel="noopener noreferrer">https://learnku.com/docs/laravel/11.x/in...</a></p>
</blockquote>
</div></template>


